home *** CD-ROM | disk | FTP | other *** search
- // Borland C++ Builder
- // Copyright (c) 1995, 1998 by Borland International
- // All rights reserved
-
- // (DO NOT EDIT: machine generated header) 'UPTShellUtils.pas' rev: 3.00
-
- #ifndef UPTShellUtilsHPP
- #define UPTShellUtilsHPP
- #include <UPTShell95.hpp>
- #include <ComObj.hpp>
- #include <Classes.hpp>
- #include <Forms.hpp>
- #include <Messages.hpp>
- #include <OLE2.hpp>
- #include <Dialogs.hpp>
- #include <ShellAPI.hpp>
- #include <SysUtils.hpp>
- #include <Windows.hpp>
- #include <SysInit.hpp>
- #include <System.hpp>
-
- //-- user supplied -----------------------------------------------------------
-
- namespace Uptshellutils
- {
- //-- type declarations -------------------------------------------------------
- enum TCSIDL { csidlDesktop, csidl_None1, csidlPrograms, csidlControls, csidlPrinters, csidlPersonal,
- csidlFavorites, csidlStartup, csidlRecent, csidlSendTo, csidlBitBucket, csidlStartMenu, csidl_None2,
- csidl_None3, csidl_None4, csidl_None5, csidlDesktopDirectory, csidlDrives, csidlNetwork, csidlNethood,
- csidlFonts, csidlTemplates, csidlCommonStartMenu, csidlCommonPrograms, csidlCommonStartup, csidlCommonDesktopDirectory,
- csidlAppData, csidlPrintHood, csidlNone };
-
- #pragma pack(push, 1)
- struct TPTModuleVersion
- {
-
- union
- {
- struct
- {
- int _3;
- int version;
-
- };
- struct
- {
- Word _1;
- Word _2;
- Word minor;
- Word major;
-
- };
- struct
- {
- int dw1;
- int dw2;
-
- };
- struct
- {
- Word w1;
- Word w2;
- Word w3;
- Word w4;
-
- };
-
- };
- } ;
- #pragma pack(pop)
-
- typedef TPTModuleVersion *PPTModuleVersion;
-
- enum TPTFriendlyNameFlags { ptfnNormal, ptfnInFolder, ptfnForParsing };
-
- enum TPTShellIconSize { ptsizSmall, ptsizLarge };
-
- class DELPHICLASS TPTIdListArray;
- class PASCALIMPLEMENTATION TPTIdListArray : public System::TObject
- {
- typedef System::TObject inherited;
-
- protected:
- Uptshell95::TItemIDList *mPidl;
- Uptshell95::TItemIDList *mLastItem;
- int __fastcall GetCount(void);
- Uptshell95::PItemIDList __fastcall GetItem(int idx);
-
- public:
- __fastcall TPTIdListArray(Uptshell95::PItemIDList p);
- __fastcall virtual ~TPTIdListArray(void);
- Uptshell95::PItemIDList __fastcall GoUp(int items);
- __property int ItemCount = {read=GetCount, nodefault};
- __property Uptshell95::PItemIDList Item[int idx] = {read=GetItem/*, default*/};
- };
-
- class DELPHICLASS TPTPidlList;
- class PASCALIMPLEMENTATION TPTPidlList : public System::TObject
- {
- typedef System::TObject inherited;
-
- private:
- Classes::TList* FList;
- bool FSorted;
- Uptshell95::IShellFolder* FShellFolder;
- IMalloc* FMalloc;
- TDuplicates FDuplicates;
- Uptshell95::PItemIDList __fastcall GetPIDL(int Index);
- void __fastcall SetPIDL(int Index, Uptshell95::PItemIDList PIDL);
- void * __fastcall GetObject(int Index);
- void __fastcall SetObject(int Index, void * aObject);
- void __fastcall SetSorted(bool isSorted);
- int __fastcall GetCount(void);
- int __fastcall GetCapacity(void);
- void __fastcall SetCapacity(int cap);
-
- protected:
- bool __fastcall BinarySearch(const Uptshell95::PItemIDList PIDL, int &Index);
- bool __fastcall LinearSearch(const Uptshell95::PItemIDList PIDL, int &Index);
-
- public:
- __fastcall TPTPidlList(void);
- __fastcall virtual ~TPTPidlList(void);
- virtual int __fastcall Add(const Uptshell95::PItemIDList PIDL);
- virtual int __fastcall AddObject(const Uptshell95::PItemIDList PIDL, System::TObject* aObject);
- void __fastcall Delete(int index);
- void __fastcall Clear(void);
- int __fastcall IndexOf(const Uptshell95::PItemIDList PIDL);
- void __fastcall Insert(int Index, Uptshell95::PItemIDList Pidl);
- void __fastcall InsertObject(int Index, Uptshell95::PItemIDList Pidl, void * aObject);
- void __fastcall Sort(void);
- __property Uptshell95::PItemIDList PIDLs[int index] = {read=GetPIDL, write=SetPIDL/*, default*/};
- __property void * Objects[int index] = {read=GetObject, write=SetObject};
- __property bool Sorted = {read=FSorted, write=SetSorted, nodefault};
- __property IMalloc* Malloc = {read=FMalloc, write=FMalloc};
- __property int Count = {read=GetCount, nodefault};
- __property Uptshell95::IShellFolder* ShellFolder = {read=FShellFolder, write=FShellFolder};
- __property Classes::TDuplicates Duplicates = {read=FDuplicates, write=FDuplicates, nodefault};
- __property int Capacity = {read=GetCapacity, write=SetCapacity, nodefault};
- };
-
- enum TLinkDataOption { ldoUseDesc, ldoUseArgs, ldoUseIcon, ldoUseWorkDir, ldoUseHotKey, ldoUseShowCmd
- };
-
- typedef Set<TLinkDataOption, ldoUseDesc, ldoUseShowCmd> TLinkDataOptions;
-
- struct TLinkData
- {
- System::AnsiString pathName;
- TLinkDataOptions options;
- System::AnsiString desc;
- System::AnsiString args;
- System::AnsiString iconPath;
- int iconIndex;
- System::AnsiString workingDir;
- int showCmd;
- Word hotkey;
- bool noUI;
- Uptshell95::TItemIDList *idList;
- _WIN32_FIND_DATAA w32fd;
- } ;
-
- typedef void __fastcall (__closure *TPTDeviceChangeEvent)(System::TObject* ASender, Messages::TMessage
- &AMessage);
-
- class DELPHICLASS TPTDeviceChangeHandler;
- class PASCALIMPLEMENTATION TPTDeviceChangeHandler : public System::TObject
- {
- typedef System::TObject inherited;
-
- private:
- bool FActive;
- HWND FWindowReceiver;
- Classes::TList* FNotifyList;
-
- protected:
- void __fastcall DeleteItem(int AItemIndex);
- void __fastcall WndProc(Messages::TMessage &AMessage);
- void __fastcall BroadcastToList(Messages::TMessage &AMessage);
-
- public:
- __fastcall TPTDeviceChangeHandler(void);
- __fastcall virtual ~TPTDeviceChangeHandler(void);
- void __fastcall Add(TPTDeviceChangeEvent AToNotify);
- void __fastcall Remove(TPTDeviceChangeEvent AToNotify);
- __property bool Active = {read=FActive, write=FActive, nodefault};
- };
-
- //-- var, const, procedure ---------------------------------------------------
- #define COMCTL32_VER580 (int)(327760)
- #define COMCTL32_VER472 (int)(262216)
- #define COMCTL32_VER471 (int)(262215)
- #define COMCTL32_VER470 (int)(262214)
- #define COMCTL32_VER400 (int)(262144)
- extern PACKAGE TPTModuleVersion COMCTL32_VER;
- extern PACKAGE int gFlushDriveInfoSem;
- #define PTSH_CMDS_DELETE "delete"
- #define PTSH_CMDS_PASTE "paste"
- #define PTSH_CMDS_CUT "cut"
- #define PTSH_CMDS_COPY "copy"
- #define PTSH_CMDS_PROPERTIES "properties"
- #define PTSH_CMDS_EXPLORE "explore"
- #define PTSH_CMDS_OPEN "open"
- #define PTSH_CMDS_FIND "find"
- #define PTSH_CMDS_LINK "link"
- #define PTSH_CMDS_DUN_CREATE "create"
- #define PTSH_CMDS_DUN_CONNECT "connect"
- #define PTSH_CMDID_FORMAT (char *)(0x23)
- #define DBT_DEVNODES_CHANGED (Byte)(7)
- #define DBT_QUERYCHANGECONFIG (Byte)(23)
- #define DBT_CONFIGCHANGED (Byte)(24)
- #define DBT_CONFIGCHANGECANCELED (Byte)(25)
- #define DBT_MONITORCHANGE (Byte)(27)
- #define DBT_SHELLLOGGEDON (Byte)(32)
- #define DBT_CONFIGMGAPI32 (Byte)(34)
- #define DBT_VXDINITCOMPLETE (Byte)(35)
- #define DBT_VOLLOCKQUERYLOCK (int)(32833)
- #define DBT_VOLLOCKLOCKTAKEN (int)(32834)
- #define DBT_VOLLOCKLOCKFAILED (int)(32835)
- #define DBT_VOLLOCKQUERYUNLOCK (int)(32836)
- #define DBT_VOLLOCKLOCKRELEASED (int)(32837)
- #define DBT_VOLLOCKUNLOCKFAILED (int)(32838)
- #define DBT_NO_DISK_SPACE (Byte)(71)
- #define DBT_LOW_DISK_SPACE (Byte)(72)
- #define DBT_DEVICEARRIVAL (int)(32768)
- #define DBT_DEVICEQUERYREMOVE (int)(32769)
- #define DBT_DEVICEQUERYREMOVEFAILED (int)(32770)
- #define DBT_DEVICEREMOVEPENDING (int)(32771)
- #define DBT_DEVICEREMOVECOMPLETE (int)(32772)
- #define DBT_DEVICETYPESPECIFIC (int)(32773)
- #define DBT_DEVTYP_OEM (Byte)(0)
- #define DBT_DEVTYP_DEVNODE (Byte)(1)
- #define DBT_DEVTYP_VOLUME (Byte)(2)
- #define DBT_DEVTYP_PORT (Byte)(3)
- #define DBT_DEVTYP_NET (Byte)(4)
- #define DBT_DEVTYP_DEVICEINTERFACE (Byte)(5)
- #define DBT_DEVTYP_HANDLE (Byte)(6)
- extern PACKAGE bool __fastcall IsWin95(void);
- extern PACKAGE bool __fastcall IsOSR2OrGreater(void);
- extern PACKAGE bool __fastcall IsWinNT(void);
- extern PACKAGE bool __fastcall IsWin2000(void);
- extern PACKAGE bool __fastcall HasWin95Shell(void);
- extern PACKAGE bool __fastcall GetModuleVersion(const System::AnsiString aModuleName, TPTModuleVersion
- &aVersion);
- extern PACKAGE void * __fastcall ShellMemAlloc(Cardinal size);
- extern PACKAGE void * __fastcall ShellMemRealloc(void * p, Cardinal size);
- extern PACKAGE void __fastcall ShellMemFree(void * p);
- extern PACKAGE IMalloc* __fastcall ShellIMalloc(void);
- extern PACKAGE int __fastcall ShellGetFolderFromIdList(Uptshell95::PItemIDList p, Uptshell95::IShellFolder*
- &ish);
- extern PACKAGE int __fastcall ShellGetIdListFromPath(const System::AnsiString path, Uptshell95::PItemIDList
- &p);
- extern PACKAGE System::AnsiString __fastcall ShellGetPathFromIdList(Uptshell95::PItemIDList p);
- extern PACKAGE System::AnsiString __fastcall ShellGetDisplayPathName(System::AnsiString aPathName);
- extern PACKAGE System::AnsiString __fastcall ShellGetSpecialFolderPath(int ahwnd, TCSIDL csidl);
- extern PACKAGE int __fastcall ShellGetSpecialFolderIdList(int ahwnd, TCSIDL csidl, Uptshell95::PItemIDList
- &idlist);
- extern PACKAGE int __fastcall ShellGetIconIndex(Uptshell95::PItemIDList absIdList, int uFlags);
- extern PACKAGE int __fastcall ShellGetIconIndexFromPath(const System::AnsiString path, int uFlags);
- extern PACKAGE int __fastcall ShellGetIconIndexFromExt(const System::AnsiString ext, int uFlags);
- extern PACKAGE int __fastcall ShellGetSpecialFolderIconIndex(TCSIDL csidl, int uFlags);
- extern PACKAGE TCSIDL __fastcall ShellFindCSIDLFromIdList(Uptshell95::PItemIDList aIdList);
- extern PACKAGE System::AnsiString __fastcall ShellGetFriendlyNameFromIdList(Uptshell95::IShellFolder*
- ishf, Uptshell95::PItemIDList pidl, TPTFriendlyNameFlags flags);
- extern PACKAGE int __fastcall ShellGetSystemImageList(TPTShellIconSize aSize);
- extern PACKAGE System::AnsiString __fastcall StrretToString(Uptshell95::PItemIDList pidl, const Uptshell95::TStrRet
- &r);
- extern PACKAGE void __fastcall StrretFree(const Uptshell95::TStrRet &r);
- extern PACKAGE System::AnsiString __fastcall EnsureTrailingCharDB(const System::AnsiString aSource,
- char aTrailingChar);
- extern PACKAGE int __fastcall IdListLen(Uptshell95::PItemIDList pidl);
- extern PACKAGE int __fastcall CompareAbsIdLists(Uptshell95::PItemIDList pidl1, Uptshell95::PItemIDList
- pidl2);
- extern PACKAGE Uptshell95::PItemIDList __fastcall ConcatIdLists(IMalloc* ishm, Uptshell95::PItemIDList
- aFirst, Uptshell95::PItemIDList aSecond);
- extern PACKAGE Uptshell95::PItemIDList __fastcall CopyIdList(IMalloc* ishm, Uptshell95::PItemIDList
- pidl);
- extern PACKAGE int __fastcall CreateShortcut(const System::AnsiString linkPathName, const TLinkData
- &linkData);
- extern PACKAGE int __fastcall CreateQuickShortcut(const System::AnsiString linkPathName, const System::AnsiString
- targetPathName);
- extern PACKAGE int __fastcall ResolveShortcut(const System::AnsiString linkPathName, TLinkData &linkData
- , bool afWantIdList);
- extern PACKAGE bool __fastcall PTClsidFromFileType(System::AnsiString aExtension, GUID &aCLSID);
- extern PACKAGE void __fastcall FlushDriveInfoCache(void);
- extern PACKAGE void __fastcall LockFlushDriveInfoCache(void);
- extern PACKAGE void __fastcall UnlockFlushDriveInfoCache(void);
- extern PACKAGE System::AnsiString __fastcall FormatStrPos(System::AnsiString aFmtStr, const System::AnsiString
- * data, const int data_Size);
- extern PACKAGE void __fastcall ParametizeCmdLineDB(const System::AnsiString ins, Classes::TStrings*
- outs);
- extern PACKAGE System::AnsiString __fastcall TrimRightDB(System::AnsiString Str);
- extern PACKAGE void __fastcall CopyCharDB(int &APos, const System::AnsiString ASource, System::AnsiString
- &ADest);
- extern PACKAGE TPTDeviceChangeHandler* __fastcall PTDeviceChangeHandler(void);
-
- } /* namespace Uptshellutils */
- #if !defined(NO_IMPLICIT_NAMESPACE_USE)
- using namespace Uptshellutils;
- #endif
- //-- end unit ----------------------------------------------------------------
- #endif // UPTShellUtils
-